package com.ias.log.service;

import ch.qos.logback.classic.spi.LoggingEvent;
import com.ias.log.model.OperationLog;

/**
 * 日志服务接口
 * 
 * @author ias
 * @since 2024
 */
public interface LogService {

    /**
     * 保存操作日志
     *
     * @param operationLog 操作日志对象
     */
    void save(OperationLog operationLog);

    /**
     * 保存错误日志
     *
     * @param loggingEvent 日志事件
     */
    default void saveErrorLog(LoggingEvent loggingEvent) {
        // 默认实现为空，子类可以重写
    }

    /**
     * 根据客户端ID查询客户端名称
     *
     * @param clientId 客户端ID
     * @return 客户端名称
     */
    String selectClientNameByClientId(String clientId);

    /**
     * 根据服务ID查询服务名称
     *
     * @param serviceId 服务ID
     * @return 服务名称
     */
    String selectServiceName(String serviceId);
}

